/* tslint:disable */
/* eslint-disable */

import React, { CSSProperties, SVGAttributes, FunctionComponent } from 'react';
import { getIconColor } from './helper';

interface Props extends Omit<SVGAttributes<SVGElement>, 'color'> {
  size?: number;
  color?: string | string[];
}

const DEFAULT_STYLE: CSSProperties = {
  display: 'block',
};

const IconRefresh: FunctionComponent<Props> = ({ size, color, style: _style, ...rest }) => {
  const style = _style ? { ...DEFAULT_STYLE, ..._style } : DEFAULT_STYLE;

  return (
    <svg viewBox="0 0 1024 1024" width={size + 'px'} height={size + 'px'} style={style} {...rest}>
      <path
        d="M193.472 542.848C209.056 706.144 346.752 832 512 832c116.256 0 220.832-62.56 277.088-159.744l-85.44-0.96a32 32 0 0 1-31.456-28.352L672 638.912a32 32 0 0 1 28.352-31.424l4.032-0.192 160.416 1.856a32 32 0 0 1 31.36 27.68l0.256 3.936 1.856 160.416a32 32 0 0 1-63.68 4.768l-0.32-4.032-0.896-79.616A384 384 0 0 1 512 896C313.664 896 148.48 744.992 129.76 548.928a32 32 0 0 1 63.68-6.08zM512 128c199.488 0 365.28 152.736 382.528 350.208a32 32 0 1 1-63.744 5.568C816.384 319.296 678.24 192 512 192a320.064 320.064 0 0 0-277.952 161.28l87.872 0.992a32 32 0 0 1 31.424 28.352l0.224 4.032a32 32 0 0 1-28.352 31.424l-4.032 0.192-160.416-1.856a32 32 0 0 1-31.36-27.68l-0.256-3.936-1.856-160.416a32 32 0 0 1 63.68-4.768l0.32 4 0.8 75.84A384 384 0 0 1 512 128z"
        fill={getIconColor(color, 0, '#333333')}
      />
    </svg>
  );
};

IconRefresh.defaultProps = {
  size: 18,
};

export default IconRefresh;
